package day1.HomeWork;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * ClassName：Test4Serve
 *
 * @Author：小鱼
 * @Create：2025-08-25 16:50
 */
public class Test4Serve {
    /*
    (1)搭建一个TCP服务器，端口为8989，要求如下
      ②接收客户端发送的字符串信息，显示
      ③如果收到quit信息，则取消当前客户端连接
      ④服务器收到字符串后进行反转再返回给客户端
    */
    private static ServerSocket serverSocket;
    private static boolean isRunning = true;

    public static void main(String[] args) {
        try {
            // 创建服务器Socket对象，绑定8990端口（原8989端口被占用）
            serverSocket = new ServerSocket(8990);
            System.out.println("服务器已启动，监听端口：8990，等待客户端连接...");

            while (isRunning) {
                // 等待客户端连接
                Socket clientSocket = serverSocket.accept();
                System.out.println("新客户端连接：" + clientSocket.getInetAddress().getHostAddress());

                // 为每个客户端创建一个线程处理
                new Thread(new Test4chat(clientSocket)).start();
            }

            serverSocket.close();
        } catch (IOException e) {
            if (!isRunning) {
                System.out.println("服务器已关闭");
            } else {
                e.printStackTrace();
            }
        }
    }
}